/**
 * Copyright 2007-2008. Chongqing First Information & Network Co., Ltd. All
 * rights reserved. <a>http://www.cqfirst.com.cn</a>
 */
package com.cqcis.uip.base.framework.common;

import java.io.Serializable;
import java.util.Map;

/**
 * 属性
 * 
 * @author huangmy
 * @date   2008-1-11
 */
public interface Attributes<T> extends Serializable {
	/**
	 * 获取所有属性
	 * @return
	 */
	public Map<String, T> getAttributes();
    
	/**
	 * 设置属性
	 * @param attributes
	 */
	public void setAttributes(Map<String, T> attributes);
    
	/**
	 * 设置属性
	 * @param name
	 * @param value
	 * @return
	 */
	public T setAttribute(String name, T value);
	
	/**
	 * 获取指定的属性值
	 * @param name
	 * @return
	 */
	public T getAttribute(String name);
	
	/**
	 * 删除指定的属性
	 * @param name
	 * @return
	 */
	public T removeAttribute(String name);
}
